package com.payment.service;


import com.alipay.v3.ApiException;
import com.alipay.v3.model.GoodsDetail;
import com.aliyun.pojo.pay.AliyunPayRefundParam;
import com.payment.domain.vo.ZfbCallbackVo;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.math.BigDecimal;

public interface IPaymentService {

    String payment(String out_trade_no, BigDecimal total_amount, String subject, GoodsDetail[] goodsDetails);

    ZfbCallbackVo callback(HttpServletRequest request, HttpServletResponse response) throws IOException, ApiException;

    String queryTradeStatus(String out_trade_no,String trade_no);

    String cancel(String out_trade_no,String trade_no) ;

    Object refund(AliyunPayRefundParam aliyunPayRefundParam);
}
